Skip to content

Add Node.js 16.15.0 #192

Merged
merged 8 commits into from
May 23, 2022
Merged

Add Node.js 16.15.0 #192

merged 8 commits into from
May 23, 2022

Conversation

pmenzel
Copy link
Contributor

@pmenzel pmenzel commented May 13, 2022

No description provided.

The current version is 17.x, but install the recommended 16.x series.

[Change-log](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.15.0)
Address the warning below by using the latest GCC available in MarIuX:

    WARNING: C++ compiler (CXX=g++, 7.5.0) too old, need g++ 8.3.0 or clang++ 8.0.0
    WARNING: warnings were emitted in the configure phase
@pmenzel
Copy link
Contributor Author

pmenzel commented May 13, 2022

So, it requires at least GCC 8, while GCC 7.5.0 is the default in MarIuX. So, I source the GCC 11.1.0 profile, but have to do more I guess:

$ source /pkg/node-16.15.0-0/profile
$ npm --version
node: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by node)

Help from the RPATH experts much appreciated.

@pmenzel
Copy link
Contributor Author

pmenzel commented May 13, 2022

Or do I just adapt LD_LIBRARY_PATH in the profile like below?

$ export LD_LIBRARY_PATH=/pkg/gcc-11.1.0-0/lib64:/pkg/gcc-11.1.0-0/lib
$ npm --version
8.5.5

@donald
Copy link
Contributor

donald commented May 13, 2022

rpath is complicated. Even more so, as "man ld" is not working currently :-)

Maybe just put the LD_LIBRARY_PATH into the node profile. This only works for commands via wrapper not for someone doing /package/node-XXX/bin/blabla but you shouldn't been doing that anyway.

@donald
Copy link
Contributor

donald commented May 13, 2022

No, better ". /pkg/gcc-11.1.0-0/profile" into the profile of node.

@pmenzel
Copy link
Contributor Author

pmenzel commented May 14, 2022

No, better ". /pkg/gcc-11.1.0-0/profile" into the profile of node.

Unfortunately, that does not work with GCC packages: #193

To work around it, I am using LLVM/clang 13.0.1 package instead.

@donald
Copy link
Contributor

donald commented May 14, 2022

You could also fix the gcc package first. Win-Win. But this is fine, too.

The profile currently does not set this.
The build currently fails with the GCC 11.1.0 package, [as its profile
does not set `LD_LIBRARY_PATH`][1].

[1]: #193
@pmenzel pmenzel merged commit b5b94ad into master May 23, 2022
@pmenzel
Copy link
Contributor Author

pmenzel commented May 23, 2022

I stayed with LLVM/clang 13.0.1, as that is from 12/2021 and newer than GCC 11.1.0 from 4/2021.

Sign in to join this conversation on GitHub.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants